home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / devtools / flex-2.5.4.tar.gz / flex-2.5.4.tar / flex-2.5.4 / MISC / VMS / README.VMS < prev    next >
Text File  |  1995-03-04  |  4KB  |  84 lines

  1. Brief instructions for building flex 2.5.x for VMS:
  2.  
  3.    0) if you have either MMS (from Digital) or MMK (freeware) for use
  4. as a `make' utility, follow the directions in steps #1 through #5 below.
  5. If not, execute
  6.       @BUILD.COM xxxC
  7. where "xxxC" is either "VAXC" or "DECC" or "GNUC", and then skip to
  8. step #5.
  9.  
  10.    1) set default to the source directory (not the [.MISC.VMS] subdirectory
  11. where this file is located).
  12.  
  13.    2) COPY [.MISC.VMS]DESCRIP.MMS []*.*
  14. (Recursive invocations of `make' for the `bigcheck' test assume that the
  15. makefile will be found as descrip.mms in the current directory.)
  16.  
  17. To build with VAX C for VAX/VMS:
  18.    3) MMS /MACRO=("VAXC=1") FLEX.EXE
  19. (The /macro qualifier is optional in this case.)
  20.  
  21. To build with GNU C for VAX/VMS:
  22.  2.5) possibly edit descrip.mms to uncomment `SET COMMAND' for GCCINIT,
  23.       depending on local site configuration
  24.    3) MMS /MACRO=("GNUC=1") FLEX.EXE
  25.  
  26. To build with DEC C for either VAX/VMS or Alpha/VMS:
  27.    3) MMS /MACRO=("DECC=1") FLEX.EXE
  28. (Expect one or two informational messages from the compiler about
  29. implicitly declared functions.)
  30.  
  31. Minimal testing of the resulting program:
  32.    4) MMS CHECK
  33. (If `diff' reports no warnings, the test has succeeded.)
  34.  
  35. More thorough testing:
  36.  4.5) MMS /MACRO=("xxxC=1") BIGCHECK    ! "xxxC=1" as in step #3 above
  37. (If using an older version of MMK rather than MMS, this might fail when
  38. `make' is invoked recursively due to excessive BYTLM usage by MMK.)
  39.  
  40. Installation (the VMS makefile does not support an `install' target;
  41. you'll need to do this part manually):
  42.    5) copy flex.exe, flex.doc, flex.skl, flexlib.olb, and FlexLexer.h to
  43. location(s) appropriate for your site.  To use flex, define a "foreign"
  44. command by making a DCL symbol whose value begins with a dollar sign
  45. immediately followed by the filename for flex.exe, as in
  46.       $ flex :== $local_tools:flex.exe
  47. where `local_tools:' is the logical name pointing to flex.exe's location.
  48. This symbol will ordinarily be a candidate for your login.com.  When
  49. invoking flex, upper- or mixed-case command line options must be enclosed
  50. in quotes.  For example,
  51.       $ flex "-Pxyz" "-L" -t mylexer.l > mylexer.c
  52. (use prefix "xyz" instead of "yy", suppress `#line' compiler directives
  53. in the output, write the output to `stdout', process file mylexer.l,
  54. and capture `stdout' in file mylexer.c).  As illustrated here, this VMS
  55. version of flex supports emulation of command line I/O redirection used
  56. by Unix shells.
  57.  
  58.  flex.exe    -- the executable image for the flex program;
  59.  flex.doc    -- documentation, the "man page" describing flex (flex.1
  60.                 processed with `nroff -man' followed by `col -b');
  61.  flex.skl    -- a text file containing flex's default skeleton;
  62.                 with this version of flex, it is for reference only;
  63.                 flex.exe does not need to know where to find it;
  64.  flexlib.olb -- an object library containing some support routines;
  65.                 you might need to link your generated lexer against
  66.                 it, depending on how your program is designed;
  67.                 flex.exe does not access it; it corresponds to
  68.                 `libfl.a' under Unix;
  69.  FlexLexer.h -- header file used for C++ class-based lexers; not
  70.                 needed for ordinary C lexers.
  71.  
  72. Notes:
  73.       This VMS port of flex supports only the original Unix command line
  74. interface, not the native DCL interface which was available for flex 2.3.
  75.  
  76.  build.com   -- DCL command procedure as alternative to descrip.mms;
  77.  descrip.mms -- 2.5.x makefile for use with MMS or MMK (see step #1);
  78.  mkskel.tpu  -- TPU program used to make skel.c from flex.skl for full
  79.                 build from scratch; performs same function as mkskel.sh;
  80.  vms-conf.h  -- pre-configured `conf.in', copied to [-.-]config.h;
  81.  vms-code.c  -- VMS-specific support code, copied to [-.-]vms-code.c;
  82.  README.VMS  -- this file
  83.  
  84.